===== 第 1 页 ===== 第1章 Java开发入门 · JDK的使用 · 第一个Java程序 · Eclipse开发工具 · Java概述 · 系统环境变量 · Java的运行机制 ===== 第 2 页 ===== 掌握 熟悉 了解 Java环境变量的配置 Eclipse开发工具的 使用 1 2 Java的运行机制 Java语言的特点 3 学习目标 ===== 第 3 页 ===== Java概述 1.1 ☞点击查看本小节知识架构 JDK的使用 1.2 ☞点击查看本小节知识架构 系统环境变量 1.3 第一个Java程序 1.4 目录 ☞点击查看本小节知识架构 ===== 第 4 页 ===== Java的运行机制 1.5 Eclipse开发工具 1.6 ☞点击查看本小节知识架构 目录 ===== 第 5 页 ===== 1.1 Java概述 返回目录 1.1.1 1.1.2 什么是Java Java语言的特点 知识架构 ===== 第 6 页 ===== 1.2 JDK的使用 1.2.1 1.2.2 1.2.3 什么是JDK 安装JDK JDK目录介绍 返回目录 知识架构 ===== 第 7 页 ===== 1.3 系统环境变量 返回目录 1.3.1 1.3.2 PATH环境变量 CLASSPATH环境变量 知识架构 ===== 第 8 页 ===== 1.6 Eclipse开发工具 返回目录 1.6.1 1.6.2 Eclipse概述 Eclipse的安装与启动 知识架构 1.6.3 使用Eclipse进行程序开发 ===== 第 9 页 ===== 1.1.1 什么是Java 1.1 Java概述 计算机语言(Computer Language)是人与计算机之间通讯的语言,分成机器语言、汇编语言、高级语言三大类。 Java是一种高级计算机语言,它是由Sun公司(已被Oracle公司收购)于1995年5月推出的一种可以编写跨平台应用软件、完全面向对象的程序设计语言。 ===== 第 10 页 ===== 为了使软件开发人员、服务提供商和设备生产商可以针对特定的市场进行开发,SUN公司将Java划分为三个技术平台: JavaSE JavaME JavaEE 标准版 是为开发普通桌面和商务应用程序提供的解决方案 企业版 是为开发企业级应用程序提供的解决方案 微型版 是为开发电子消费产品和嵌入式设备提供的解决方案 1.1 Java概述 ===== 第 11 页 ===== 简单易用 安全可靠 跨平台 面向对象性 支持多线程 1.1 Java概述 脚本语言 1.1.2 Java语言特点 ===== 第 12 页 ===== 1.1.2 Java语言特点——简单易用 1.1 Java概述 Java是一种相对简单的编程语言,它通过提供最基本的方法来完成指定的任务,只需掌握一些基础的概念和语法,就可以编写出很多实际可用的程序; Java丢弃了C++中很难理解的运算符重载、多重继承等模糊概念,特别是Java语言不使用指针; Java提供了自动垃圾回收机制,使程序员不必过多的操心内存管理的问题。 ===== 第 13 页 ===== 1.1.2 Java语言特点——安全可靠 1.1 Java概述 Java提供了一套可靠的安全机制来防止恶意代码的攻击; Java程序运行之前会利用字节确认器进行代码的安全检查,确保程序不会存在非法访问本地资源、文件系统的可能,保证了程序在网络间传送的安全性。 ===== 第 14 页 ===== 1.1.2 Java语言特点——跨平台 1.1 Java概述 Java引入了虚拟机的概念,通过Java虚拟机(Java Virtual Machine,称为JVM)可以在不同的操作系统上(如Windows、Linux等)运行Java程序,从而实现跨平台特性。 ===== 第 15 页 ===== 1.1.2 Java语言特点——面向对象 1.1 Java概述 Java将一切事物都看成对象,通过面向对象的方式,将现实世界的事物抽象成对象,将现实世界中的关系(如父子关系)抽象为继承; 这种面向对象的方法,更利于用人们对复杂程序的理解、分析、设计和编写。 ===== 第 16 页 ===== 1.1.2 Java语言特点——支持多线程 1.1 Java概述 Java语言内置了多线程控制,可使用户程序并发执行; 利用Java的多线程编程接口,开发人员可以方便地写出多线程的应用程序,提高程序的执行效率。 ===== 第 17 页 ===== 1.2.1 什么是JDK 1.2 JDK的使用 定义:JDK(Java Development Kit),是SUN公司提供的一套Java开发环境。 说明:JDK是整个Java的核心,其中包括Java编译器、Java运行工具、Java文档生成工具、Java打包工具等。 ===== 第 18 页 ===== 1.2.1 什么是JDK——JDK发展史 1.2 JDK的使用 在1996年1月,Sun公司发布了Java的第一个开发工具包JDK 1.0; 随后相继推出了JDK 1.1、JDK 1.2、JDK 1.3、JDK 1.4、JDK 5(1.5)、JDK 6(1.6)、JDK 7(1.7)、JDK 8(1.8)和JDK 9(1.9)、JDK 10。 由于JDK 9是2017年9月发布的新版本,JDK 10是2018年3月发布的新版本,目前并不稳定,且市场使用率低,所以本教材将针对目前稳定的JDK 8(也称之为Java 8或JDK 1.8)进行讲解。 ===== 第 19 页 ===== 1.2.1 什么是JDK——JRE介绍 1.2 JDK的使用 定义:JRE(Java Runtime Environment)是Sun公司提供的Java运行环境,用来提供给普通用户使用的。 说明:由于普通用户只需要运行事先编写好的Java程序,不需要自己动手编写,因此JRE工具中只包含Java运行工具,不包含Java编译工具。 注意:为了方便使用,Sun公司在其JDK工具中自带了一个JRE工具,也就是说开发环境中包含运行环境,这样一来,开发人员只需要在计算机上安装JDK即可。 ===== 第 20 页 ===== 1.2.2 安装JDK(以Windows系统为例) 1.2 JDK的使用 从Oracle官网下载JDK 下载地址:http://www.oracle.com/technetwork/java/javase/downloads/index.html 下载结果: ===== 第 21 页 ===== 1.2 JDK的使用 单击安装JDK ===== 第 22 页 ===== 1.2 JDK的使用 自定义安装功能和路径 ===== 第 23 页 ===== 1.2 JDK的使用 开发工具:是JDK中的核心功能模块,其中包含一系列Java程序所必须的可执行程序,如javac.exe、java.exe等,还包含了一个专用的JRE环境。 源代码:安装此模块将会安装Java所有核心类库的源代码。 公共JRE:是Java程序的运行环境。由于开发工具中已经包含了一个JRE,因此没有必要再安装公共的JRE环境,此项可以不作选择。 自定义安装功能和路径——模块说明 ===== 第 24 页 ===== 1.2 JDK的使用 完成JDK安装 ===== 第 25 页 ===== 1.2 JDK的使用 JDK、JRE与JVM之间的主要关系和区别: JDK中包含了开发工具和JRE,而JRE中又包含了Java基础类库和JVM。其中JVM是运行Java程序的核心虚拟机,而运行Java程序不仅需要核心虚拟机,还需要类加载器、字节码校验器以及Java的基础类库等。 脚 下 留 心 ===== 第 26 页 ===== 1.2.3 JDK目录介绍 1.2 JDK的使用 JDK安装后,目录结构图如下所示: ===== 第 27 页 ===== 1.2.3 JDK目录介绍——子目录说明 1.2 JDK的使用 bin目录:该目录用于存放一些可执行程序。 如javac.exe(Java编译器)、java.exe(Java运行工具)、jar.exe(打包工具)和javadoc.exe(文档生成工具)等。 db目录:db目录是一个小型的数据库。 从JDK 6开始,Java中引入了一个新的成员Java DB,这是一个纯Java实现、开源的数据库管理系统。这个数据库不仅很轻便,而且支持JDBC 4.0所有的规范,在学习JDBC时,可以选择直接使用Java DB即可。 ===== 第 28 页 ===== 1.2.3 JDK目录介绍——子目录说明 1.2 JDK的使用 include目录:包含一些一些C语言的头文件。 由于JDK是通过C和C++实现的,因此在启动时需要引入一些C语言的头文件,该目录就是用于存放这些头文件的。 jre目录:此目录是Java运行时环境的根目录。 它包含Java虚拟机,运行时的类包、Java应用启动器以及一个bin目录,但不包含开发环境中的开发工具。 lib目录:包含lib包文件。 lib是library的缩写,意为Java类库或库文件,是开发工具使用的归档包文件。 ===== 第 29 页 ===== 1.2.3 JDK目录介绍——子目录说明 1.2 JDK的使用 javafx-src.zip:该压缩文件内存放的是Java FX(Java图形用户界面工具)所有核心类库的源代码。 src.zip:src.zip为src文件夹的压缩文件,src中放置的是JDK核心类的源代码,通过该文件可以查看Java基础类的源代码。 README等:说明性文档。 ===== 第 30 页 ===== 1.2.3 JDK目录介绍——bin目录工具介绍 1.2 JDK的使用 javac.exe编译器工具 它可以将编写好的Java文件编译成Java字节码文件(可执行的Java程序)。 java.exe运行工具 它会启动一个Java虚拟机(JVM)进程,Java虚拟机相当于一个虚拟的操作系统,它专门负责运行由Java编译器生成的字节码文件(.class文件)。 ===== 第 31 页 ===== 1.3 系统环境变量 JDK安装完成后,要想在系统中的任何位置都能编译和运行Java程序,还需要对环境变量进行配置。 通常来说,我们需要配置两个环境变量——PATH和CLASSPATH。 PATH环境变量—用于告知操作系统到指定路径去寻找JDK。 CLASSPATH环境变量—用于告知JDK到指定路径去查找类文件(.class文件)。 为什么要设置系统环境变量? 需要设置哪些系统环境变量? ===== 第 32 页 ===== 1.3 系统环境变量 1.3.1 PATH环境变量(以Windows 7系统为例) 打开环境变量窗口 【计算机】=>【属性】=>【系统】=>【高级系统设置】=>【高级】=>【环境变量】=>【环境变量】 ===== 第 33 页 ===== 1.3 系统环境变量 配置JAVA_HOME变量 【系统变量】 => 【新建】 => 【新建系统变量】 “变量名”的文本区域值设置为“JAVA_HOME”; “变量值”的文本区域值设置为JDK的安装目录“D:\Java\jdk1.8.0_151”(路径以读者JDK安装目录为准)。 ===== 第 34 页 ===== 1.3 系统环境变量 配置PATH变量 【环境变量】 => 【系统变量】区域选中名为“Path”的系统变量,单击【编辑】按钮,打开【编辑系统变量】窗口,并在“变量值”的文本区域值的起始位置添加“%JAVA_HOME%\bin;” ===== 第 35 页 ===== 1.3 系统环境变量 单击系统中的【开始】【所有程序】【附件】【运行】(或者使用快捷键Win+R),在打开的运行窗口中输入“cmd”指令并确定后,将打开命令行窗口。在窗口中执行“javac”命令后,如果能正常地显示javac命令的帮助信息,即说明系统PATH环境变量配置成功。 效果验证 ===== 第 36 页 ===== 1.4 第一个Java程序 在D盘根目录下新建一个test文件夹,并在该文件夹中新建文本文档,重命名为HelloWorld.java后,用记事本方式打开,在其中编写一段Java代码。 public class HelloWorld { public static void main(String[] args) { System.out.println("这是第一个Java程序!"); } } 编写Java源文件 ===== 第 37 页 ===== 1.4 第一个Java程序 class是一个关键字,它用于定义一个类。在Java中,类就是一个程序的基本单元,所有的代码都需要在类中书写。 HelloWorld是类的名称,简称类名。class关键字与类名之间需要用空格、制表符、换行符等任意的空白字符进行分隔。类名之后要写一对大括号,它定义了当前这个类的管辖范围。 编写Java源文件——文件解释说明 ===== 第 38 页 ===== 1.4 第一个Java程序 “public static void main(String[] args){}”定义了一个main()方法,该方法是Java程序的执行入口,程序将从main()方法所属大括号内的代码开始执行。 在main()方法中编写了一条执行语句“System.out.println("这是第一个Java程序!");”,它的作用是打印一段文本信息,执行完这条语句会在命令行窗口中打印“这是第一个Java程序!”。 编写Java源文件——文件解释说明 ===== 第 39 页 ===== 1.4 第一个Java程序 打开命令行窗口,并通过如下命令进入test目录。 D: cd test 使用命令行窗口进入指定目录 ===== 第 40 页 ===== 1.4 第一个Java程序 在命令行窗口中输入“javac HelloWorld.java”命令,对源文件进行编译。 上面的javac命令执行完毕后,会在当前目录下生成一个字节码文件“HelloWorld.class”。 编译Java源文件 ===== 第 41 页 ===== 1.4 第一个Java程序 注意 在命令行窗口使用javac命令对带有中文的Java源文件进行编译时,必须保证源文件的编码格式和命令行窗口解码格式一致,否则会出现源文件编译错误。 在中文环境下,命令行窗口默认编码格式是GBK,而记事本编码格式也是GBK,所以在编写HelloWorld.java源文件时,可以直接使用Windows系统自带的记事本进行编辑并保存。 如果使用了其他文本编辑器(如EditPlus、Notepad++等)来编写Java源文件,这些文本编辑器默认编码格式多数为UTF-8,那么必须将Java源文件以GBK格式编译,或者是将命令行窗口更改为文本编辑器相同的编码格式。 ===== 第 42 页 ===== 1.4 第一个Java程序 注 在命令行窗口中输入“java HelloWorld”命令,运行编译好的字节码文件。 运行Java程序 ===== 第 43 页 ===== 1.4 第一个Java程序 在使用javac命令编译文件1-1中的程序时,有可能会出现“找不到文件”的错误。 出现上图错误很有可能是因为文件的扩展名被隐藏了,虽然文本文件被重命名为“HelloWorld.java”,但实际上该文件的真实文件名为“HelloWorld.java.txt”,文件类型并没有得到修改。 脚 下 留 心 ===== 第 44 页 ===== 1.4 第一个Java程序 注 打开Windows系统控制面板中的【文件夹选项】,在“查看”选项下高级设置一栏中将“隐藏已知文件类型的扩展名”选项前面的“√”取消,单击【确定】按钮。 文件显示出扩展名.txt后,将其重命名为HelloWorld.java即可。 脚 下 留 心 ===== 第 45 页 ===== 1.5 Java的运行机制 注 Java程序运行时,必须经过编译和运行两个步骤: 先将后缀名为.java的源文件进行编译,生成后缀名为.class的字节码文件; 然后Java虚拟机将字节码文件进行解释执行,并将结果显示出来。 ===== 第 46 页 ===== 1.5 Java的运行机制 注 Java运行机制过程分析: 编写一个Java源文件HelloWorld.java。 使用“javac HelloWorld.java”命令开启Java编译器并进行编译。 编译结束后,会自动生成一个HelloWorld.class的字节码文件。 使用“java HelloWorld”命令启动Java虚拟机运行程序,Java虚拟机首先将编译好的字节码文件加载到内存,这个过程被称为类加载,它是由类加载器完成的,然后虚拟机会通过Java解析器对加载到内存中的Java类进行解析执行。 执行后会生成计算机可以识别的机器码文件。 机器码文件在计算机运行并显示结果。 ===== 第 47 页 ===== 1.5 Java的运行机制 注 通过上面的分析不难发现,Java程序是由Java虚拟机负责解释执行的,而并非操作系统。这样做的好处是可以实现Java程序的跨平台。 下面以Windows、Linux、MacOS操作系统为例,效果如图所示: ===== 第 48 页 ===== 1.6 Eclipse开发工具 注 Eclipse是由蓝色巨人IBM花费巨资开发的一款功能完整且成熟的IDE集成开发环境。 Eclipse是一个开源的、基于Java的可扩展开发平台,是目前最流行的Java语言开发工具之一。 Eclipse具有强大的代码编排功能,可以帮助程序开发人员完成语法修正、代码修正、代码补全、信息提示等工作,大大提高了程序开发的效率。 Eclipse的设计思想是“一切皆插件”。就其本身而言,它只是一个框架和一组服务,它所有的功能都是将插件组件加入到Eclipse框架中来实现的。 1.6.1 Eclipse概述 ===== 第 49 页 ===== 1.6 Eclipse开发工具 注 1.6.2 Eclipse的安装与启动 下载地址: https://www.eclipse.org/downloads/ 注意:Eclipse安装时只需将下载好的ZIP包解压保存到指定目录下(例如D:\eclipse)就可以使用了。本教材使用的Eclipse版本是Neon.3 Release (4.6.3)。 安装Eclipse开发工具 ===== 第 50 页 ===== 1.6 Eclipse开发工具 注 启动Eclipse开发工具 (1)在Eclipse安装文件中双击运行eclipse.exe文件,效果如下图所示: ===== 第 51 页 ===== 1.6 Eclipse开发工具 注 (2)Eclipse启动完成后会弹出一个对话框,提示选择工作空间(Workspace),效果如下图所示: 工作空间用于保存Eclipse中创建的项目和相关设置。可以使用Eclipse提供的默认路径为工作空间,也可以单击【Browse...】按钮来更改路径,工作空间设置完成后,单击【OK】按钮即可。 ===== 第 52 页 ===== 1.6 Eclipse开发工具 注 (3)工作空间设置完成后,由于工具是第一次打开,因此会进入到Eclipse的欢迎界面,效果如下图所示: ===== 第 53 页 ===== 1.6 Eclipse开发工具 注 注 Eclipse工作台 在Eclipse欢迎界面单击关闭欢迎界面窗口,就进入了Eclipse工作台界面,Eclipse工作台主要由标题栏、菜单栏、工具栏、透视图四部分组成: ===== 第 54 页 ===== 1.6 Eclipse开发工具 注 注 Eclipse工作台上几种主要视图说明: Package Explorer(包资源管理器器视图):用来显示项目文件的组成结构。 Editor(文本编辑器视图):用来编写代码的区域。 Problems(问题视图):显示项目中的一些警告和错误。 Console(控制台视图):显示程序运行时的输出信息、异常和错误。 Outline(大纲视图):显示代码中类的结构。 ===== 第 55 页 ===== 1.6 Eclipse开发工具 注 注 注 Eclipse透视图 定义:透视图(Perspective)是比视图更大的一种概念,用于定义工作台窗口中视图的初始设置和布局,目的在于完成特定类型的任务或使用特定类型的资源。 分类:在Eclipse的开发环境中提供了几种常用的透视图,如Java透视图、资源透视图、调试透视图、小组同步透视图等。 ===== 第 56 页 ===== 1.6 Eclipse开发工具 注 注 注 用户可以通过界面右上方的透视图 按钮 在不同的透视图之间切换。选择要进入的透视图,也可以在菜单栏中选择【Window】→【Perspective】→【Open Perspective】→【Other...】打开其他透视图,如下所示: ===== 第 57 页 ===== 1.6 Eclipse开发工具 注 注 注 在弹出的“Open Perspective”对话框中,可以选择用户要打开的透视图,如图所示: ===== 第 58 页 ===== 小提示 1.6 Eclipse开发工具 注 注 注 如果小心错误的操作了透视图(Perspective),比如关闭了Console视图,这时可以通过【Window】→【Show View】来选择想要打开的Console视图。如果视图窗口过多且不方便手动调整位置时也可以重置透视图(在菜单栏选择【Window】→【Perspective】→【Reset Perspective】),如下图所示: ===== 第 59 页 ===== 1.6 Eclipse开发工具 注 注 注 1.6.3 使用Eclipse进行程序开发 创建Java项目 在Eclipse的菜单栏中依次选择【File】→【New】→【Java Project】,或者在Package Explorer视图中单击鼠标右键,然后选择【New】→【Java Project】会出现一个“New Java Project”对话框,如右图所示。 ===== 第 60 页 ===== 1.6 Eclipse开发工具 注 注 注 在上图对话框中,“Project name”文本框表示项目的名称,这里将项目命名为chapter01,其余选项保持默认,然后单击【Finish】按钮完成项目的创建。这时,在Package Explorer视图中便会出现一个名称为chapter01的Java项目,效果如下图所示: ===== 第 61 页 ===== 1.6 Eclipse开发工具 注 注 注 在Package Explorer视图中,鼠标右键单击chapter01项目下的src文件夹,选择【New】 → 【Package】,会出现一个“New Java Package”对话框,如图下图所示: 在项目下创建包 表示项目所在的目录 表示包的名称 ===== 第 62 页 ===== 1.6 Eclipse开发工具 注 注 注 鼠标右键单击包名,选择【New】→【Class】会出现一个“New Java Class”对话框,如图下图所示: 创建Java类 表示类名 ===== 第 63 页 ===== 1.6 Eclipse开发工具 注 注 注 接着创建一个HelloWorld类,单击【Finish】按钮,就完成了HelloWorld类的创建。这时,在“com.itheima.first”包下就出现了一个HelloWorld.java文件,如下图所示: ===== 第 64 页 ===== 1.6 Eclipse开发工具 注 注 注 创建好的HelloWorld.java文件会在编辑区域自动打开,如下图所示: ===== 第 65 页 ===== 1.6 Eclipse开发工具 注 注 注 注 创建完HelloWorld类后,就可以在文本编辑器里完成代码的编写工作,同样以一个main()方法和一条输出语句为例,如下图所示: 编写程序代码 ===== 第 66 页 ===== 1.6 Eclipse开发工具 注 注 注 注 鼠标右键单击Package Explorer视图中的HelloWorld.java文件,在弹出框中选择【Run As】→【Java Application】来运行程序,如下图所示: 运行程序 ===== 第 67 页 ===== 1.6 Eclipse开发工具 注 注 注 注 除此之外,还可以在选中文件后,直接单击工具栏上的 按钮运行程序。程序运行完毕后,会在Console视图中看到运行结果,如下图所示: ===== 第 68 页 ===== 1.6 Eclipse开发工具 注 注 注 注 使用鼠标右键单击文本编辑器中左侧的空白处,在弹出的窗口中选择【Show Line Numbers】,即可显示出行号,如下图所示: 1.6.3 使用Eclipse进行程序开发——行号控制 ===== 第 69 页 ===== 1.6 Eclipse开发工具 注 注 包的定义与使用 包定义的意义:Java引入了包(package)机制,程序可以通过声明包的方式对Java类定义目录。 包定义的规则:Java中的包是专门用来存放类的,通常功能相同的类存放在相同的包中。在声明包时,使用package语句,具体示例如下: package cn.itcast.first; // 使用package关键字声明包,位于Java源文件的第一行 public class Example01{...} 注意:包必须在源文件中所有代码前声明,在不考虑注释和空行的情况下,它会位于源文件第一行。 多 学 一 招 ===== 第 70 页 ===== 1.6 Eclipse开发工具 注 注 包的定义与使用 在使用Eclipse时,定义的类都是含有包名的。 如果没有显式地声明package语句,创建的类会处于默认包下。在实际开发中,这种情况是不应该出现的。 本教材的示例代码主要展现的是功能部分的代码,所以在大多数示例代码中没有为示例指定包名,但是在提供的源码中,都已使用包名。 多 学 一 招 ===== 第 71 页 ===== 1.6 Eclipse开发工具 注 注 注 包的定义与使用 在开发时,一个项目中可能会使用很多包,当一个包中的类需要调用另一个包中的类时,就需要使用import关键字引入需要的类。 使用import可以在程序中一次导入某个指定包下的类,这样就不必在每次用到该类时都书写完整类名,简化了代码量。 使用import关键字的具体格式如下所示: import 包名.类名; 注意:import通常出现在package语句之后,类定义之前。如果有时候需要用到一个包中的许多类,则可以使用“import 包名.*; ”来导入该包下所有类。 多 学 一 招 ===== 第 72 页 ===== 1.6 Eclipse开发工具 注 注 注 包的定义与使用 在JDK中,不同功能的类都放在不同的包中,其中Java的核心类主要放在java包及其子包下,Java扩展的大部分类都放在javax包及其子包下。 java.util:包含Java中大量工具类、集合类等,例如Arrays、List、Set等。 java.net:包含Java网络编程相关的类和接口。 java.io:包含了Java输入、输出有关的类和接口。 java.awt:包含用于构建图形界面(GUI)的相关类和接口。 除了上面提到的常用包,JDK中还有很多其他的包,比如数据库编程的java.sql包、编写GUI的javax.swing包等,JDK中所有包中的类构成了Java类库。 多 学 一 招 ===== 第 73 页 ===== 1.7 本章小结 本章首先讲解了Java语言的概念和特点,然后讲解了如何在Windows系统平台中搭建Java开发环境和配置环境变量,并通过一个入门案例演示了Java程序的编译和运行。接下来通过入门案例的执行过程,讲解了Java的运行机制。最后讲解了常用的开发工具Eclipse的下载、安装以及使用。 ===== 第 74 页 =====